public class EnumMain2 {

    public static void main(String[] args) {
        for (EnumTest2 enumTest2 : EnumTest2.values()) {
            System.out.println(enumTest2);
            /*
            ROOT_ADMIN
            ORDER_ADMIN
            NORMAL
            */
            System.out.println("name:" + enumTest2.name());
        }

        for (EnumTest2 enumTest2 : EnumTest2.values()) {
            System.out.println("ordinal:" + enumTest2.ordinal());
            /* 说明枚举是有序的
            ordinal:0
            ordinal:1
            ordinal:2*/
        }

        EnumTest2 enumTest20 = EnumTest2.ROOT_ADMIN;
        EnumTest2 enumTest21 = EnumTest2.ORDER_ADMIN;
        EnumTest2 enumTest22 = EnumTest2.NORMAL;
        System.out.println(enumTest20.compareTo(enumTest20));
        System.out.println(enumTest20.compareTo(enumTest21));
        System.out.println(enumTest21.compareTo(enumTest22));
        System.out.println(enumTest20.compareTo(enumTest22));
        System.out.println(enumTest22.compareTo(enumTest20));
        /*
        0
        -1
        -1
        -2
        2
        compareTo 比较的是ordinal
        */

        EnumTest2 enumTest2 = EnumTest2.valueOf("ROOT_ADMIN");
        System.out.println("valueOf:" + enumTest2);

        EnumTest2 enumTest = EnumTest2.NORMAL;
        switch (enumTest) {
            // 比如此处的意义就非常清晰了，比1，2，3这种数字好！
            case NORMAL:
                System.out.println("这是普通用户");
                break;
            case ROOT_ADMIN:
                System.out.println("这是系统管理员");
                break;
            case ORDER_ADMIN:
                System.out.println("这个订单管理员");
                break;
            default:
                break;
        }
    }
}
